Caso Práctico

# Gráficos básicos R: hacer un gráfico de barras con la cantidad de diamantes que hay para cada valor de la variable cut.
plot(diamonds$cut, 
     main = "Corte del diamante", 
     xlab = "Tipo de diamante", 
     ylab = "Valores", 
     las = 1,
     col = topo.colors(length(unique(diamonds$cut))))

#Ggplot: realizar un histograma del precio que muestre la frecuencia acumulada de la variable cut.
ggplot(diamonds) +
  geom_histogram(mapping = aes(x = price, fill = cut))
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Realiza un diagrama boxplot sobre el precio en función de la variable cut, obtén un diagrama diferente por cada variable clarity.
ggplot(diamonds) +
  geom_boxplot(mapping = aes(price, fill = cut)) + facet_wrap(~clarity)

# Gráficos básicos de R: realizar una gráfica múltiple de cuatro visualizaciones en donde, para cada visualización, se realice un diagrama de dispersión en el que se tomen los valore: “x”, “y”, “z” y carat contra depth.

par(mfcol=c(2,2))

# Fila 1, columna 1
plot(diamonds$x, diamonds$depth, 
     xlab = "Variable X", 
     ylab = "depth", 
     main = "X ~ depth",
     col = 'darkgreen')

# Fila 2, columna 1
plot(diamonds$y, diamonds$depth, 
     xlab = "Variable Y", 
     ylab = "depth", 
     main = "Y ~ depth",
     col = 'darkred')

# Fila 1, columna 2
plot(diamonds$z, diamonds$depth, 
     xlab = "Variable Z", 
     ylab = "depth", 
     main = "Z ~ depth",
     col = 'blue')

# Fila 2, columna 2
plot(diamonds$carat, diamonds$depth, 
     xlab = "Variable Quilates", 
     ylab = "depth", 
     main = "Quilates ~ depth",
     col = 'purple')

# Ggplot2: realizar un diagrama de dispersión con recta de ajuste del price sobre carat.
ggplot(diamonds) +
  geom_point(mapping = aes(price, carat)) + geom_smooth(aes(price, carat), method = lm)
`geom_smooth()` using formula = 'y ~ x'

# Plotly: tomar una muestra de 100 observaciones y realizar un diagrama de barras de la variable cut contra price, en función de clarity.

fig.bar <- plot_ly (
  data = sample_n(diamonds, 100),
  x = ~cut,
  y = ~price,
  type = "bar",
  color = ~clarity
)

fig.bar 
# Plotly: realizar un diagrama de sectores de la variable cut con los valores de carat.
fig <- plot_ly(
  data = diamonds,
  labels = ~cut,
  values = ~carat,
  type = 'pie'
) 

fig
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIENhc28gUHLDoWN0aWNvDQpgYGB7cn0NCiMgR3LDoWZpY29zIGLDoXNpY29zIFI6IGhhY2VyIHVuIGdyw6FmaWNvIGRlIGJhcnJhcyBjb24gbGEgY2FudGlkYWQgZGUgZGlhbWFudGVzIHF1ZSBoYXkgcGFyYSBjYWRhIHZhbG9yIGRlIGxhIHZhcmlhYmxlIGN1dC4NCnBsb3QoZGlhbW9uZHMkY3V0LCANCiAgICAgbWFpbiA9ICJDb3J0ZSBkZWwgZGlhbWFudGUiLCANCiAgICAgeGxhYiA9ICJUaXBvIGRlIGRpYW1hbnRlIiwgDQogICAgIHlsYWIgPSAiVmFsb3JlcyIsIA0KICAgICBsYXMgPSAxLA0KICAgICBjb2wgPSB0b3BvLmNvbG9ycyhsZW5ndGgodW5pcXVlKGRpYW1vbmRzJGN1dCkpKSkNCmBgYA0KYGBge3J9DQojR2dwbG90OiByZWFsaXphciB1biBoaXN0b2dyYW1hIGRlbCBwcmVjaW8gcXVlIG11ZXN0cmUgbGEgZnJlY3VlbmNpYSBhY3VtdWxhZGEgZGUgbGEgdmFyaWFibGUgY3V0Lg0KZ2dwbG90KGRpYW1vbmRzKSArDQogIGdlb21faGlzdG9ncmFtKG1hcHBpbmcgPSBhZXMoeCA9IHByaWNlLCBmaWxsID0gY3V0KSkNCmBgYA0KYGBge3J9DQojIEdncGxvdDI6IHJlYWxpemEgdW4gZGlhZ3JhbWEgYm94cGxvdCBzb2JyZSBlbCBwcmVjaW8gZW4gZnVuY2nDs24gZGUgbGEgdmFyaWFibGUgY3V0LCBvYnTDqW4gdW4gZGlhZ3JhbWEgZGlmZXJlbnRlIHBvciBjYWRhIHZhcmlhYmxlIGNsYXJpdHkuDQpnZ3Bsb3QoZGlhbW9uZHMpICsNCiAgZ2VvbV9ib3hwbG90KG1hcHBpbmcgPSBhZXMocHJpY2UsIGZpbGwgPSBjdXQpKSArIGZhY2V0X3dyYXAofmNsYXJpdHkpDQpgYGANCmBgYHtyfQ0KIyBHcsOhZmljb3MgYsOhc2ljb3MgZGUgUjogcmVhbGl6YXIgdW5hIGdyw6FmaWNhIG3Dumx0aXBsZSBkZSBjdWF0cm8gdmlzdWFsaXphY2lvbmVzIGVuIGRvbmRlLCBwYXJhIGNhZGEgdmlzdWFsaXphY2nDs24sIHNlIHJlYWxpY2UgdW4gZGlhZ3JhbWEgZGUgZGlzcGVyc2nDs24gZW4gZWwgcXVlIHNlIHRvbWVuIGxvcyB2YWxvcmU6IOKAnHjigJ0sIOKAnHnigJ0sIOKAnHrigJ0geSBjYXJhdCBjb250cmEgZGVwdGguDQoNCnBhcihtZmNvbD1jKDIsMikpDQoNCiMgRmlsYSAxLCBjb2x1bW5hIDENCnBsb3QoZGlhbW9uZHMkeCwgZGlhbW9uZHMkZGVwdGgsIA0KICAgICB4bGFiID0gIlZhcmlhYmxlIFgiLCANCiAgICAgeWxhYiA9ICJkZXB0aCIsIA0KICAgICBtYWluID0gIlggfiBkZXB0aCIsDQogICAgIGNvbCA9ICdkYXJrZ3JlZW4nKQ0KDQojIEZpbGEgMiwgY29sdW1uYSAxDQpwbG90KGRpYW1vbmRzJHksIGRpYW1vbmRzJGRlcHRoLCANCiAgICAgeGxhYiA9ICJWYXJpYWJsZSBZIiwgDQogICAgIHlsYWIgPSAiZGVwdGgiLCANCiAgICAgbWFpbiA9ICJZIH4gZGVwdGgiLA0KICAgICBjb2wgPSAnZGFya3JlZCcpDQoNCiMgRmlsYSAxLCBjb2x1bW5hIDINCnBsb3QoZGlhbW9uZHMkeiwgZGlhbW9uZHMkZGVwdGgsIA0KICAgICB4bGFiID0gIlZhcmlhYmxlIFoiLCANCiAgICAgeWxhYiA9ICJkZXB0aCIsIA0KICAgICBtYWluID0gIlogfiBkZXB0aCIsDQogICAgIGNvbCA9ICdibHVlJykNCg0KIyBGaWxhIDIsIGNvbHVtbmEgMg0KcGxvdChkaWFtb25kcyRjYXJhdCwgZGlhbW9uZHMkZGVwdGgsIA0KICAgICB4bGFiID0gIlZhcmlhYmxlIFF1aWxhdGVzIiwgDQogICAgIHlsYWIgPSAiZGVwdGgiLCANCiAgICAgbWFpbiA9ICJRdWlsYXRlcyB+IGRlcHRoIiwNCiAgICAgY29sID0gJ3B1cnBsZScpDQpgYGANCg0KYGBge3J9DQojIEdncGxvdDI6IHJlYWxpemFyIHVuIGRpYWdyYW1hIGRlIGRpc3BlcnNpw7NuIGNvbiByZWN0YSBkZSBhanVzdGUgZGVsIHByaWNlIHNvYnJlIGNhcmF0Lg0KZ2dwbG90KGRpYW1vbmRzKSArDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyhwcmljZSwgY2FyYXQpKSArIGdlb21fc21vb3RoKGFlcyhwcmljZSwgY2FyYXQpLCBtZXRob2QgPSBsbSkNCmBgYA0KYGBge3J9DQojIFBsb3RseTogdG9tYXIgdW5hIG11ZXN0cmEgZGUgMTAwIG9ic2VydmFjaW9uZXMgeSByZWFsaXphciB1biBkaWFncmFtYSBkZSBiYXJyYXMgZGUgbGEgdmFyaWFibGUgY3V0IGNvbnRyYSBwcmljZSwgZW4gZnVuY2nDs24gZGUgY2xhcml0eS4NCg0KZmlnLmJhciA8LSBwbG90X2x5ICgNCiAgZGF0YSA9IHNhbXBsZV9uKGRpYW1vbmRzLCAxMDApLA0KICB4ID0gfmN1dCwNCiAgeSA9IH5wcmljZSwNCiAgdHlwZSA9ICJiYXIiLA0KICBjb2xvciA9IH5jbGFyaXR5DQopDQoNCmZpZy5iYXIgDQpgYGANCg0KYGBge3J9DQojIFBsb3RseTogcmVhbGl6YXIgdW4gZGlhZ3JhbWEgZGUgc2VjdG9yZXMgZGUgbGEgdmFyaWFibGUgY3V0IGNvbiBsb3MgdmFsb3JlcyBkZSBjYXJhdC4NCmZpZyA8LSBwbG90X2x5KA0KICBkYXRhID0gZGlhbW9uZHMsDQogIGxhYmVscyA9IH5jdXQsDQogIHZhbHVlcyA9IH5jYXJhdCwNCiAgdHlwZSA9ICdwaWUnDQopIA0KDQpmaWcNCmBgYA0KDQo=